﻿' Copyright © Microsoft Corporation.  All Rights Reserved.
' This code released under the terms of the 
' Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)
Imports Microsoft.VisualBasic
Imports System

Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media

<Assembly: CLSCompliant(True)>
Namespace Microsoft.Expression.Encoder.PlugInMssCtrl

	Public Interface IPlugInMssCore
		Property MediaElement() As MediaElement
		Property ManifestUrl() As Uri
		Sub StartPlayback()
		Sub StopPlayback()
	End Interface

	Public Interface IPlugInMssOfflineSupport
		Sub ParseManifest(ByVal manifestStream As Stream)
		Function RecommendBitrateInKbps(ByVal streamType As MediaStreamType, ByVal playerSize As Size) As Long
		Function GetBitratesInKbps(ByVal streamType As MediaStreamType) As ReadOnlyCollection(Of Long)
		Function GetChunkUrls(ByVal streamType As MediaStreamType, ByVal bitrateInKbps As Long) As ReadOnlyCollection(Of String)
		Sub SetOfflinePlaybackBitrateInKbps(ByVal streamType As MediaStreamType, ByVal offlineBitrateInKbps As Long)
	End Interface

	Public Interface IPlugInMssStatisticsGraph
		ReadOnly Property StatisticsGraph() As UIElement
	End Interface
End Namespace
